<syntaxEventsAndArrays>
	
	Audivolv will have a language that may look something like this...

	network#TestNeuralNetwork(
		arrayDef#constantFloatValueZero(double 1) //TODO Where to define constants? 
		arrayDef#constantFloatValueOne(double 1) //TODO Where to define constants?
		arrayDef#weightSum(double 1)
		arrayDef#weightChange(double 1)
		list#node(
			arrayDef#heat(double 2)
			//TODO Replace each int literal with an array that size.
			arrayDef#neuralNodeChilds(Object arraySizeMinMax(1 1000))
			arrayDef#neuralNodeWeights(double TestNeuralNetwork.node.neuralNodeChilds)
		)
		do#nodeFunc(
			=float(TestNeuralNetwork.weightSum.0 TestNeuralNetwork.constantFloatValueZero)
			loop#sumTheWeights(
				TestNeuralNetwork.node.neuralNodeWeights
				+=float(TestNeuralNetwork.weightSum.0 TestNeuralNetwork.node.neuralNodeWeights)
			)
			if#ifNodeIsHotEnoughToFire(
				<=float(TestNeuralNetwork.constantFloatValueOne TestNeuralNetwork.node.heat.0)
				loop#moveHeatToChilds(
					//define var nnChild as index in neuralNodeChilds and neuralNodeWeights
					TestNeuralNetwork.node.neuralNodeChilds.nnChild
					do(
						=float(
							TestNeuralNetwork.weightChange.0
							/float(
								TestNeuralNetwork.node.neuralNodeWeights.nnChild
								TestNeuralNetwork.weightSum.0
							)
						)
						-=float(TestNeuralNetwork.node.heat.0 TestNeuralNetwork.weightChange.0)
						+=float(
							TestNeuralNetwork.node.neuralNodeChilds.nnChild.heat.0
							TestNeuralNetwork.weightChange.0
						)
					)
				)
			)
		)
	)

	<question>
		Should a network be an array which contains arrays, string(s), and a new type of queue?
		The queue can always return its size quickly.
		The queue would be a Java object with add, touch, and getFirst functions?
		<question>
			Should it also have a function to get the first N things? For getFirst, N would be 1.
		</question>
		The queue would require that the touch function be called whenever an object it contains
		changes in a certain way.
		<question>
			Should all arrays in Audivolv be able to have event listeners attached to them?
			An example listener would call touch on a queue.
		</question>
	</question>

	<question>
		Other than the new type of queue, arrays, strings, and Integers, what things should be allowed
		in the Object arrays that represent networks?
		<possibleAnswer>
			Variable-size list with random-access, add, and delete taking log time.
		</possibleAnswer>
		<possibleAnswer>
			Array wrapper.
		</possibleAnswer>
	</question>
	
	<question>
		Should all things start as Java functions, and some of them can be optimized to better Java code and/or arrays?
		For example, direct array access can only be done by optimized code.
	</question>
	

</syntaxEventsAndArrays>